/*
 * OpenList.h
 *
 *  Created on: 29/05/2011
 *      Author: frandres
 */

#ifndef OPENLIST_H_
#define OPENLIST_H_
#define LIST_SIZE 160
#include "BinaryHeap.h"

class OpenList {
public:
	OpenList();
	~OpenList();
	int size();
	void printList();
	void insert(FifteenPuzzleNodeA * element);
	void remove(FifteenPuzzleNodeA * element);
	void changeCost(FifteenPuzzleNodeA * element, int newG);
	FifteenPuzzleNodeA * pullMax();
	bool find(FifteenPuzzleNodeA * element);


private:

	BinaryHeap * lists [LIST_SIZE];
};

#endif /* OPENLIST_H_ */
